![]() |
![]() |
Da primijenite funkciju Generate na redove ili stupce:
·
Odaberite
redove ili stupce (prisutno mora biti više od jedne dimenzije, u to se uključuju
i mjere kojima je podrazumijevano mjesto u stupcima)
·
Odaberite
ikonu Organiziraj
·
Odaberite Za svakog iz prethodne dimenzije (Generate) s menija
Generate funkcija će za svaki element iz prvog seta, prema
zadanim kriterijima, izračunati elemente drugog seta i pridružiti ih
pripadajućem elementu iz prvog seta.
Kada Generate funkcija
nije primijenjena
Kada je Generate
funkcija primijenjena
.
Generate funkcija će kombinirat elemente iz dvije ili više
dimenzija, na drugačiji način nego funkcija CrossJoin.
Ukoliko niti na jednoj dimenziji nisu primijenjene
dodatne funkcije, tada će rezultat CrossJoin i Generate funkcije biti isti.
Isti je slučaj ako će biti primijenjena set
funkcija (funkcija na cijeloj osi).
Kada da koristimo
Generate funkciju?
Pretpostavimo da želimo
vidjeti:
Najbolja 3 grada (Cities) po mjeri Store sales, i za svakog od njih
najbolja 3 proizvoda (Product Names) po mjeri Store Sales.
Složimo takav upit:
·
Odaberite
nivo City
iz dimenzije Customers i smjestite u
redove
·
Primijenite
funkciju TopCount na dimenziju (Dimension function)
koristeći ikonu
o
Odaberite
ikonu
o
Odaberite
TopCount s
menija
o
Odaberite
dimenziju Customers s podmenija
o
Odaberite
mjeru Store Sales
o
Odaberite
vrijednost tri (3)
o
Odaberite Primjeni
·
Odaberite
nivo Product Name iz
dimenzije Product i smjestite ga u
redove
·
Primijenite
TopCount
dimenzijsku funkciju na dimenziju Product koristeći ikonu
o
Odaberite
ikonu
o
Odaberite
TopCount s
menija
o
Odaberite
dimenziju Product s podmenija
o
Odaberite
mjeru Store Sales
o
Odaberite
vrijednost tri (3)
o
Odaberite Primjeni
·
Odaberite
ikonu Organiziraj unutar trake s naslovom koja pripada
području redova
·
Odaberite Za svakog iz prethodne dimenzije (Generate)
Prije nego što dodamo mjeru, provjerimo da li
dizajner izgleda kao na slici:
Sada dodajte mjeru Store Sales u
područje mjera.
Pojavit će se rezultat:
Kao što
možete vidjeti:
Svaki
grad ima različita Top 3 Proizvoda.
To
znači da najprodavaniji proizvodi u sva tri grada nisu
isti.
Sada uklonite funkciju Generate.
Uklanjanjem funkcije Generate kombiniranje dimenzija Customers i Product bit će
izvedeno uz pomoć funkcije CrossJoin.
Da to učinite:
·
Odaberite
ikonu Organiziraj
·
Odaberite
ponovo Za svakog iz prethodne dimenzije
(Generate)
Dizajner mora izgledati kao na
slici:
a rezultat je:
Ovo je malo iznenađenje:
·
Pojavila su
se samo dva grada iako smo tražili najboljih tri
·
Nadalje,
postoje samo dva proizvoda na tablici iako smo i njih tražili
tri
·
Dodatnu
zbunjenost izaziva činjenica da smo očekivali 9 (3 x
3) redova
Ili barem četiri reda (2x2), a ima ih samo
dva
Unatoč našim očekivanjima rezultati su ispravni.
Razlog leži u slijedećem:
Od naših najboljih tri (3)
proizvoda samo dva (2) se prodaju u najbolja tri (3)
grada.
§
Jedan
proizvod (Sunset Silver
Cleaner) prodajemo u Everettu.
§
Drugi
proizvod (CDR Extra Chunky
Peanut Butter) prodajemo u
Torranceu
§
U trećem, od
naša najbolja tri grada ne prodajemo niti jedan od
naša tri najbolja proizvoda
Da otkrijemo treći grad i treći proizvod dozvolite
dizajneru da prikaže razne redove i stupce
Prikazat će se rezultat:
Sada vidimo sve naše gradove i proizvode.
Rezultati postoje samo za njih dvoje.
Da razumijemo što se dogodilo trebamo znati kako
funkcionira OLAP server.
Evo njegovih kalkulacija i pripadajućeg
redoslijeda:
·
Nađi najbolja
tri (3) grada
·
Nađi najbolja
tri (3) proizvoda
·
Koristi
CrossJoin funkciju i kombiniraj ta dva dimenzijska seta